package top.rainf.service;

import top.rainf.domain.vo.UserBaseInfo;

import java.util.List;

/**
 * @author 星环
 * @date 2023/5/9 18:43:30
 * @description
 */
public interface IUserBaseInfoService {

    /**
     * 用用户名重置密码，在登录界面重置密码用，
     * @param username 要重置的用户名
     * @param newPassword 新的密码
     * @return 是否重置成功
     */
    boolean resetPasswordByUsername(String username,String newPassword);

    List<UserBaseInfo> getUserBaseInfoList();

    UserBaseInfo getOneById(int id);

    boolean deleteOneById(int id);

    boolean deleteAll(List<Integer> idList);

    boolean updateById(UserBaseInfo userBaseInfo);

    List<UserBaseInfo> getByIds(List<Integer> uidList);

    UserBaseInfo getByUsername(String username);

    List<Integer> getIdByUsernames(List<String> atUsers);

    List<UserBaseInfo> srchByUsernameExcept(String username, int userId);
}
